# CONFIG_BLK_DEV_IDE_MODES is not set
# CONFIG_BLK_DEV_HD is not set
+#
+# Console drivers
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VIDEO_SELECT is not set
+CONFIG_DUMMY_CONSOLE=y
+
+
#
# Character devices
#
CONFIG_XEN_CONSOLE=y
CONFIG_VT=y
-CONFIG_VGA_CONSOLE=y
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_PSMOUSE is not set
+CONFIG_VT_CONSOLE=y
# CONFIG_UNIX98_PTYS is not set
+#
+# Mice
+#
+# CONFIG_BUSMOUSE is not set
+CONFIG_MOUSE=y
+CONFIG_PSMOUSE=y
+# CONFIG_82C710_MOUSE is not set
+# CONFIG_PC110_PAD is not set
+# CONFIG_MK712_MOUSE is not set
+
+
#
# File systems
#
#define XENO_TTY_MINOR 123
+/*** useful function for console debugging -- goes straight to Xen ****/
+
+asmlinkage int xprintk(const char *fmt, ...)
+{
+ va_list args;
+ unsigned long flags;
+ int printed_len;
+ static char printk_buf[1024];
+
+ /* Emit the output into the temporary buffer */
+ va_start(args, fmt);
+ printed_len = vsnprintf(printk_buf, sizeof(printk_buf), fmt, args);
+ va_end(args);
+
+ // Useful Hack if things are going wrong very early in the day
+ (void)HYPERVISOR_console_write(printk_buf, sizeof(printk_buf));
+}
+
+
+
/******************** Kernel console driver ********************************/
static void xen_console_write(struct console *co, const char *s, unsigned count)
void xen_console_init(void)
{
+ xprintk("xen_console_init\n");
register_console(&xen_console_info);
}
disable_early_printk();
#endif
+#ifdef CONFIG_XEN_CONSOLE
+ xen_console_init();
+#endif
+
#ifdef CONFIG_VT
con_init();
#endif
-#ifdef CONFIG_XEN_CONSOLE
- xen_console_init();
-#endif
#ifdef CONFIG_AU1000_SERIAL_CONSOLE
au1000_serial_console_init();
#endif
return 0;
}
-static inline unsigned char vga_readb(unsigned char * x) {
-xprintk("vr %p\n",x);return (*(x)); }
-static void vga_writeb(unsigned char x, unsigned char *y) {
-xprintk("vw %02x %p\n",x,y); *(y) = (x); }
+static inline unsigned char vga_readb(unsigned char * x) { return (*(x)); }
+static inline void vga_writeb(unsigned char x, unsigned char *y) { *(y) = (x); }
#endif